As an increasing number of applications and services are being made available over networks such as the Internet, an increasing number of service providers are turning to technologies such as cloud computing. In general, cloud computing is an approach to providing access to remote resources through a network. Such resources may include hardware and/or software. Hardware resources may include computers (e.g., servers), mass storage devices, and other useful hardware elements. Software resources may include operating systems, databases, etc. Customers of the service provider can use the service provider's network to have various resources allocated for exclusive use by the customers. The customer then may pay for use of the service provider's resources rather than owning and operating his or her own hardware and software resources. The customer's applications may then run within the environment of the service provider's resources allocated for use by the customer.
For efficiency, cost, performance and other reasons, applications and data by multiple unrelated customers may run on, and be accessible to, the same set of physical servers. Any number of disparate customers may be assigned by the service provider to the same physical hardware, and in many cases without any control by the customers.